package com.example.vote.flow.pojo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Schema(description = "投票主题视图对象Class")
public class VoteTopicSimpleVO implements Serializable {

    @Schema(description = "主题ID")
    private Long id;

    @Schema(description = "标题")
    private String title;

    @Schema(description = "描述")
    private String description;

    @Schema(description = "开始时间（yyyy-MM-dd HH:mm:ss）")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime startTime;

    @Schema(description = "结束时间（yyyy-MM-dd HH:mm:ss）")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime endTime;

    @Schema(description = "是否允许选项图片")
    private Integer allowOptionImage;

    @Schema(description = "每个用户最大投票数")
    private Integer maxVotesPerUser;

    @Schema(description = "每个用户每天最大投票数")
    private Integer maxVotesPerUserPerDay;

    @Schema(description = "每个IP最大投票数")
    private Integer maxVotesPerIp;

    @Schema(description = "累计票数（冗余）")
    private Integer recordCount;

    @Schema(description = "创建者ID")
    private Long creatorId;

}